/*
 * $Id: ConceptConnector.java 136 2009-07-16 07:53:43Z donbeave $
 */

package labour.concept.client;

import java.util.List;
import java.util.Map;

import labour.concept.client.data.DataTypeModel;
import labour.concept.client.data.LocaleModel;
import labour.concept.client.data.ObjectModel;
import labour.concept.client.data.ObjectTextModel;
import labour.concept.client.data.ObjectTypeModel;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface ConceptConnector {

  public void loadBasicData(AsyncCallback<Map<String, ?>> callback);

  public void loadLocales(AsyncCallback<List<LocaleModel>> callback);

  public void loadObjectsTypes(AsyncCallback<List<ObjectTypeModel>> callback);

  public void loadDataTypes(AsyncCallback<List<DataTypeModel>> callback);

  @SuppressWarnings("unchecked")
  public void loadObjects(Object loadConfig, AsyncCallback callback);

  @SuppressWarnings("unchecked")
  public void saveObject(ObjectModel object, List<ObjectTextModel> texts, AsyncCallback callback);

  @SuppressWarnings("unchecked")
  public void deleteObject(ObjectModel object, AsyncCallback callback);

}